package cn.rkylin.oms.system.flag.service;

import java.util.List;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageInfo;

import cn.rkylin.core.service.ApolloService;
import cn.rkylin.oms.system.flag.dao.IFlagDAO;
import cn.rkylin.oms.system.flag.domain.Flag;
import cn.rkylin.oms.system.flag.vo.FlagVO;
import cn.rkylin.oms.system.shop.vo.ShopVO;

@Service("flagService")
public class FlagServiceImpl extends ApolloService implements IFlagService {

    @Autowired
    private IFlagDAO flagDAO;
    @Override
    public PageInfo<FlagVO> findByWhere(int page, int rows, FlagVO flagVO) throws Exception {
        PageInfo<FlagVO> flagVOList = findPage(page, rows, "pageSelectFlag", flagVO);
        return flagVOList;
    }

    @Override
    public Flag insert(FlagVO flagVO) throws Exception {
        Flag flag = new Flag();
        BeanUtils.copyProperties(flagVO, flag);
        flagDAO.insert(flag);
        return flag;
    }

    @Override
    public Flag update(FlagVO flagVO) throws Exception {
        Flag flag = new Flag();
        BeanUtils.copyProperties(flagVO, flag);
        flagDAO.update(flag);
        return flag;
    }

    public FlagVO getFlagById(String id) throws Exception {
        FlagVO flagVO = flagDAO.findById(id);
        return flagVO;
    }

    @Override
    public int delete(String id) throws Exception {
        return flagDAO.delete(id);
    }
}
